فونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا ساز

لطفا از تمام مطالب دیدن فرمایید.

فصل چهارم ـ بخش ششم ـ ایجاد جداول قابل جستجو با Hshtable ها

تا کنون اگر می خواستید عنصری را در یک ارایه یا یک لیست پیوندی بیان کنید‍ باید اندیس عدد صحیح آن را که معرف مکان قرار گرفتن آن عنصر بود مشخص می کردید. اما اگر می خواستید برای دسترسی به آن عنصر از مقادیر دیگری به جز  اندیس استفاده کنید نم توانستید این روش را به کار ببرید. برای مثال فرض کنید در برنامه قبل می خواستید اطلاعات مشترکین را براساس آدرس پست الکترونیکی آنها بدست آورید.
در این قسمت نوع خاصی از کلکسیون ها به نام Hashtable را بررسی خواهیم کرد که روش های بهتری را برای جستجو اراپه می دهند. این کلکسیون ها بر اساس یک مقدار کلیدی که برای آن ها مشص می شود آرایه را جستجو می کنند.

استفاده از Hashtable :

Hashtable نوعی کلکسیون است که هر عنصر آن دارای یک کلید است. با استفاده از این کلید می توانید به مقدار عنصر در کلکسیون دسترسی پیدا کنید.برای مثال فرض کنید اطلاعات مشترکی با نام Darrel را که از نوع Customer است در یک  Hashtable قرار می دهید و مقدار کلیدی این عنصر را نیز برابر با دسترسی به اطلاعات این مشترک ادرس پست الکترونیکی او مشخص کنید . در این صورت اگر برای دسترسی به اطلاعات این مشترک آدرس پست الکترونیکی او را وارد کنید می توانید به سرعت او را در لیست پیدا کنید.

txt1

جستجو در یک Hashtable بسیار سریع انجام می شود. زیرا صرف نظر از نوع عنصری که در این جدول ذخیره می کنید یک عدد صحیح کوچک به عنوان شناسه عنصر در نظر گرفته می شود . در امتحان کنید بعد نحوه استفاده از Hashtable ها را مشاهده خواهیم کرد.

نکته:عدد صحیحی که برای ذخیره شناسه یک کیلید در Hashtable به کار می رود فقط ۴ بایت از حافظه را اشغال می کند . بنابراین اگر رشته شامل ۱۰۰ کارکتر را که ۲۰۰ بایت حافظه را اشغال می کند به عنوان کلید در نظر بگیرید برای جستجو در جدول فقط اعداد ۴ بایتی با یک دیگر مقایسه می شوند که باعث افزایش سرعت می شود.

امتحان کنید: استفاده از Hashtable ها

  • پروژه ای را که در بخش قبل در فصل ۴  (Structure Demo) ایجاد کرده اید را دوباره باز کنید.ویراشگر کد را برای فرم باز کده و تغییر زیر را در تعریف متغییر objCustomers ایجاد کنید:
  •  به قسمت کد های مربوط به تابع CreateCustomer بروید و کد های آن را به صورت مشخص شده در زیر تغییر دهید:
  •  به بخش کد مربوط به متد btnDelete_Click بروید و تغییرات زیر را در آن ایجاد کنید:

موضوعات مرتبط: فصل چهارم ـ بخش ششم ـ ایجاد جداول قابل جستجو با Hshtable ها ، ،
برچسب‌ها:

ادامه مطلب
تاريخ : چهار شنبه 29 مرداد 1393برچسب:, | 8:0 | نویسنده : کـــــوچـــــولـــــو |

صفحه قبل 1 صفحه بعد

لطفا از دیگر مطالب نیز دیدن فرمایید
.: Weblog Themes By SlideTheme :.

Flying Icon